name: &'a str,
version: &'a str,
id: &'a PackageId,
+ license: Option<&'a str>,
+ license_file: Option<&'a str>,
source: &'a SourceId,
dependencies: &'a [Dependency],
targets: &'a [Target],
fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> {
let summary = self.manifest.summary();
let package_id = summary.package_id();
+ let manmeta = self.manifest.metadata();
+ let license = manmeta.license.as_ref().map(String::as_ref);
+ let license_file = manmeta.license_file.as_ref().map(String::as_ref);
SerializedPackage {
name: &package_id.name(),
version: &package_id.version().to_string(),
id: package_id,
+ license: license,
+ license_file: license_file,
source: summary.source_id(),
dependencies: summary.dependencies(),
targets: &self.manifest.targets(),
"id": "foo[..]",
"source": null,
"dependencies": [],
+ "license": null,
+ "license_file": null,
"targets": [
{
"kind": [
"manifest_path": "[..]Cargo.toml",
"name": "baz",
"source": "registry+[..]",
+ "license": null,
+ "license_file": null,
"targets": [
{
"kind": [
"manifest_path": "[..]Cargo.toml",
"name": "bar",
"source": "registry+[..]",
+ "license": null,
+ "license_file": null,
"targets": [
{
"kind": [
"manifest_path": "[..]Cargo.toml",
"name": "foo",
"source": null,
+ "license": "MIT",
+ "license_file": null,
"targets": [
{
"kind": [
"id": "bar[..]",
"source": null,
"dependencies": [],
+ "license": null,
+ "license_file": null,
"targets": [
{
"kind": [ "lib" ],
"id": "baz[..]",
"source": null,
"dependencies": [],
+ "license": null,
+ "license_file": null,
"targets": [
{
"kind": [ "lib" ],
"id": "bar[..]",
"source": null,
"dependencies": [],
+ "license": null,
+ "license_file": null,
"targets": [
{
"kind": [ "lib" ],
"id": "baz[..]",
"source": null,
"dependencies": [],
+ "license": null,
+ "license_file": null,
"targets": [
{
"kind": [ "lib" ],
"id":"foo[..]0.5.0[..](path+file://[..]/foo)",
"source":null,
"dependencies":[],
+ "license": null,
+ "license_file": null,
"targets":[{
"kind":["bin"],
"name":"foo",